package cn.tedu.anno;/**
 * @Author 金帮嘉诚 @Date 2021-06-24 星期四 19:46
 */
/*本类用于测试自定义注解，熟悉注解相关的规则*/

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 知识点
 * @Retention：设置注解生命周期
 * 源文件中
 * 字节码文件中
 * 运行时
 * @Target：设置注解位置
 * 方法上ElementType.Method
 * 类名上
 * 属性上
 * 自定义注解创建：
 * @interface+注解名{   定义注解属性 }
 * 属性值在注解后面小括号中设置：
 * 属性使用时，没有默认值要用 属性名=值 设置值，有默认值可以不设置值
 * 属性名设置为value时可以用 值 直接设置值
 *
 */
public class TestAnnotion {
    public static void main(String[] args) {


    }
}

@Retention(RetentionPolicy.SOURCE)//单个，指定生命周期
@Target({ElementType.METHOD, ElementType.FIELD})
//多个，指定注解位置
@interface Test {//自定义注解的格式，@interface
    int value() default 1;//变量名设置为value可以直接设置值
}

class TestAnno {
    //    @Test(value = 2)
    @Test(2)
    public void eat() {
        System.out.println("??");
    }
}